// RUN: llvm-mc -triple i686-unknown-unknown -mattr=+avxvnniint8 --show-encoding %s | FileCheck %s

// CHECK: vpdpbssd %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0xd4]
     vpdpbssd %ymm4, %ymm3, %ymm2

// CHECK: vpdpbssd %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0xd4]
     vpdpbssd %xmm4, %xmm3, %xmm2

// CHECK: vpdpbssd  268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbssd  268435456(%esp,%esi,8), %ymm3, %ymm2

// CHECK: vpdpbssd  291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbssd  291(%edi,%eax,4), %ymm3, %ymm2

// CHECK: vpdpbssd  (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x10]
     vpdpbssd  (%eax), %ymm3, %ymm2

// CHECK: vpdpbssd  -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
     vpdpbssd  -1024(,%ebp,2), %ymm3, %ymm2

// CHECK: vpdpbssd  268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbssd  268435456(%esp,%esi,8), %xmm3, %xmm2

// CHECK: vpdpbssd  291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbssd  291(%edi,%eax,4), %xmm3, %xmm2

// CHECK: vpdpbssd  (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x10]
     vpdpbssd  (%eax), %xmm3, %xmm2

// CHECK: vpdpbssd  -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
     vpdpbssd  -512(,%ebp,2), %xmm3, %xmm2

// CHECK: vpdpbssds %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0xd4]
     vpdpbssds %ymm4, %ymm3, %ymm2

// CHECK: vpdpbssds %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0xd4]
     vpdpbssds %xmm4, %xmm3, %xmm2

// CHECK: vpdpbssds  268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbssds  268435456(%esp,%esi,8), %ymm3, %ymm2

// CHECK: vpdpbssds  291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbssds  291(%edi,%eax,4), %ymm3, %ymm2

// CHECK: vpdpbssds  (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x10]
     vpdpbssds  (%eax), %ymm3, %ymm2

// CHECK: vpdpbssds  -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
     vpdpbssds  -1024(,%ebp,2), %ymm3, %ymm2

// CHECK: vpdpbssds  268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbssds  268435456(%esp,%esi,8), %xmm3, %xmm2

// CHECK: vpdpbssds  291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbssds  291(%edi,%eax,4), %xmm3, %xmm2

// CHECK: vpdpbssds  (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x10]
     vpdpbssds  (%eax), %xmm3, %xmm2

// CHECK: vpdpbssds  -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
     vpdpbssds  -512(,%ebp,2), %xmm3, %xmm2

// CHECK: vpdpbsud %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0xd4]
     vpdpbsud %ymm4, %ymm3, %ymm2

// CHECK: vpdpbsud %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0xd4]
     vpdpbsud %xmm4, %xmm3, %xmm2

// CHECK: vpdpbsud  268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbsud  268435456(%esp,%esi,8), %ymm3, %ymm2

// CHECK: vpdpbsud  291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbsud  291(%edi,%eax,4), %ymm3, %ymm2

// CHECK: vpdpbsud  (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x10]
     vpdpbsud  (%eax), %ymm3, %ymm2

// CHECK: vpdpbsud  -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
     vpdpbsud  -1024(,%ebp,2), %ymm3, %ymm2

// CHECK: vpdpbsud  268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbsud  268435456(%esp,%esi,8), %xmm3, %xmm2

// CHECK: vpdpbsud  291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbsud  291(%edi,%eax,4), %xmm3, %xmm2

// CHECK: vpdpbsud  (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x10]
     vpdpbsud  (%eax), %xmm3, %xmm2

// CHECK: vpdpbsud  -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
     vpdpbsud  -512(,%ebp,2), %xmm3, %xmm2

// CHECK: vpdpbsuds %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0xd4]
     vpdpbsuds %ymm4, %ymm3, %ymm2

// CHECK: vpdpbsuds %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0xd4]
     vpdpbsuds %xmm4, %xmm3, %xmm2

// CHECK: vpdpbsuds  268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbsuds  268435456(%esp,%esi,8), %ymm3, %ymm2

// CHECK: vpdpbsuds  291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbsuds  291(%edi,%eax,4), %ymm3, %ymm2

// CHECK: vpdpbsuds  (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x10]
     vpdpbsuds  (%eax), %ymm3, %ymm2

// CHECK: vpdpbsuds  -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
     vpdpbsuds  -1024(,%ebp,2), %ymm3, %ymm2

// CHECK: vpdpbsuds  268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbsuds  268435456(%esp,%esi,8), %xmm3, %xmm2

// CHECK: vpdpbsuds  291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbsuds  291(%edi,%eax,4), %xmm3, %xmm2

// CHECK: vpdpbsuds  (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x10]
     vpdpbsuds  (%eax), %xmm3, %xmm2

// CHECK: vpdpbsuds  -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
     vpdpbsuds  -512(,%ebp,2), %xmm3, %xmm2

// CHECK: vpdpbuud %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0xd4]
     vpdpbuud %ymm4, %ymm3, %ymm2

// CHECK: vpdpbuud %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0xd4]
     vpdpbuud %xmm4, %xmm3, %xmm2

// CHECK: vpdpbuud  268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbuud  268435456(%esp,%esi,8), %ymm3, %ymm2

// CHECK: vpdpbuud  291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbuud  291(%edi,%eax,4), %ymm3, %ymm2

// CHECK: vpdpbuud  (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x10]
     vpdpbuud  (%eax), %ymm3, %ymm2

// CHECK: vpdpbuud  -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
     vpdpbuud  -1024(,%ebp,2), %ymm3, %ymm2

// CHECK: vpdpbuud  268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbuud  268435456(%esp,%esi,8), %xmm3, %xmm2

// CHECK: vpdpbuud  291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbuud  291(%edi,%eax,4), %xmm3, %xmm2

// CHECK: vpdpbuud  (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x10]
     vpdpbuud  (%eax), %xmm3, %xmm2

// CHECK: vpdpbuud  -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
     vpdpbuud  -512(,%ebp,2), %xmm3, %xmm2

// CHECK: vpdpbuuds %ymm4, %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0xd4]
     vpdpbuuds %ymm4, %ymm3, %ymm2

// CHECK: vpdpbuuds %xmm4, %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0xd4]
     vpdpbuuds %xmm4, %xmm3, %xmm2

// CHECK: vpdpbuuds  268435456(%esp,%esi,8), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbuuds  268435456(%esp,%esi,8), %ymm3, %ymm2

// CHECK: vpdpbuuds  291(%edi,%eax,4), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbuuds  291(%edi,%eax,4), %ymm3, %ymm2

// CHECK: vpdpbuuds  (%eax), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x10]
     vpdpbuuds  (%eax), %ymm3, %ymm2

// CHECK: vpdpbuuds  -1024(,%ebp,2), %ymm3, %ymm2
// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
     vpdpbuuds  -1024(,%ebp,2), %ymm3, %ymm2

// CHECK: vpdpbuuds  268435456(%esp,%esi,8), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
     vpdpbuuds  268435456(%esp,%esi,8), %xmm3, %xmm2

// CHECK: vpdpbuuds  291(%edi,%eax,4), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
     vpdpbuuds  291(%edi,%eax,4), %xmm3, %xmm2

// CHECK: vpdpbuuds  (%eax), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x10]
     vpdpbuuds  (%eax), %xmm3, %xmm2

// CHECK: vpdpbuuds  -512(,%ebp,2), %xmm3, %xmm2
// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
     vpdpbuuds  -512(,%ebp,2), %xmm3, %xmm2
